* If the ProcPtr is a patch, return noErr and Chain
* If the ProcPtr is a root, return noErr and Chain
* If the ProcPtr is not a patch or a root, return an error
}
FUNCTION GetPatchChainFromProcPtr(theKernelProcess: KernelProcessID; theRoutine: PatchableProcPtr; VAR thePatchChain: PatchChainID): OSStatus; C;
{
* Maps a ProcPtr to a PatchID.
* If the ProcPtr is a patch, return noErr and the PatchID
* If the ProcPtr is a root, return notAPatchErr
* If the ProcPtr is not a patch or a root, return notAPatchErr
}
FUNCTION GetPatchFromProcPtr(theKernelProcess: KernelProcessID; theRoutine: PatchableProcPtr; VAR thePatch: PatchID): OSStatus; C;
FUNCTION GetPatchChainInformation(thePatchChain: PatchChainID; version: PBVersion; VAR patchChainInfo: PatchChainInformation): OSStatus; C;
FUNCTION GetPatchInformation(thePatchID: PatchID; version: PBVersion; VAR patchInfo: PatchInformation): OSStatus; C;
{
* Iteration functions:
* Get all the chains in a KernelProcess, and
* Get all the patches in a chain
}
FUNCTION GetPatchChainsInKernelProcess(theKernelProcess: KernelProcessID; requestedPatchChains: ItemCount; VAR totalPatchChains: ItemCount; VAR thePatchChains: PatchChainID): OSStatus; C;
FUNCTION GetPatchesInPatchChain(thePatchChain: PatchChainID; requestedPatches: ItemCount; VAR totalPatches: ItemCount; VAR thePatches: PatchID): OSStatus; C;
FUNCTION EnablePatch(thePatch: PatchID): OSStatus; C;
FUNCTION DisablePatch(thePatch: PatchID): OSStatus; C;